package Kernel;

public class VehiculeGenerique extends Vehicule {

	private static final long serialVersionUID = 1L;

	/* #### Constructeurs #### */

	/**
	 * Constructeur par défaut de la classe VéhiculeGenerique
	 */
	public VehiculeGenerique() {
		this.denomination = "Generique";
		this.capacite = -1;
		this.vitesse = -1;
		this.type = "generique";
	}

	/**
	 * Constructeur de la classe VehiculeGenerique
	 * @param capacite est la capacité du vehicule
	 * @param vitesse est la vitesse du vehicule
	 */
	public VehiculeGenerique(int capacite, int vitesse) {
		this.capacite = capacite;
		this.vitesse = vitesse;
		this.type = "generique";
	}
	
	/**
	 * Constructeur paramétré de la classe VehiculeGenerique
	 * @param denomination est le nom du vehicule
	 * @param capacite est la capacité du vehicule
	 * @param vitesse est la vitesse du vehicule
	 */
	public VehiculeGenerique(String denomination,int capacite,int vitesse){
		this.denomination = denomination;
		this.capacite = capacite;
		this.vitesse = vitesse;
		this.type = "generique";
	}

	/* #### Methodes definies manuellement #### */

	/* #### Methodes surchargees #### */

	@Override
	public int getCapacite() {
		return this.capacite;
	}

	@Override
	public void setCapacite(int capacite) {
		this.capacite = capacite;
	}

	@Override
	public int getVitesse() {
		return this.vitesse;
	}

	@Override
	public void setVitesse(int vitesse) {
		this.vitesse = vitesse;
	}

	@Override
	public String print() {
		return "generique;"+ this.denomination + ";" +this.capacite + ";" + this.vitesse + ";";
	}

	@Override
	public String toString() {
		return this.getDenomination() + " (Capacite :" + capacite + " | Vitesse : "
				+ vitesse + ")";
	}

	/* #### Mutateurs #### */


	@Override
	public void setDenomination(String denomination) {
		this.denomination = denomination;
		
	}

	@Override
	public String getDenomination() {
		return this.denomination;
	}

	@Override
	public String getType() {
		return this.type;
	}
}
